Software for improving the accuracy of machines

ABSTRACT

Large machines, especially those having working envelopes in excess of fifteen feet, exhibit unacceptable errors because of thermal expansion and mechanical misalignments between the axes. The errors have traditionally been minimized by enclosing the machine in a thermal enclosure, by careful calibration, or by mounting a laser interferometer on each axis. These solutions are costly, may require frequent recalibration, and do not correct for small rotations of one axis relative to another axis due to wear etc. The present invention uses an interferometric laser tracker or a comparable 3D position sensor to measure the position of a retroreflector attached to the end effector, e.g. a machine head when the machine comes to rest. A computer compares the measured position to the desired position according to the machine media, and adds the appropriate correction with trickle feed media statements to move the machine to the correct position prior to further machining.

REFERENCE TO RELATED APPLICATION

The present application is a continuation application based on U.S.patent application Ser. No. 08/867,857, filed Jun. 3, 1997 now U.S. Pat.No. 6,681,145, which claims the benefit of U.S. Provisional Application60/019,196, filed Jun. 6, 1996.

TECHNICAL FIELD

The present invention relates to machine control, and, moreparticularly, to a method using 3-dimensional laser measurement of thetrue position of a machine tool to augment the accuracy and control of amachine. The invention is especially useful in the accurate machining,inspecting, or both of a part based upon a digital definition of thepart. A preferred method, apparatus, and related software provide endpoint control of the machine tool to place holes and other featuresaccurately on aerospace structural detail parts.

BACKGROUND OF THE INVENTION

Machine tools exhibit dimensional positioning errors that are difficultto minimize. The primary contributors to these positioning errors are:(1) expansion and contraction of the machine structure and the workpiece(i.e., the part) because of thermal changes in the factory duringmachining, and (2) mechanical misalignments of and between individualaxes of the machine. The accuracy of the machine is often so uncertainthat post-machining inspection of the dimensions of the parts must bemade using an independent measuring method. Such inspection requiresspecial tools and skilled workers as well as significant factory space.It slows the production process. Failing inspection, parts must bereworked or scrapped. Post-production inspection, rework, and scrap arethe result of poor design or manufacturing processes. The method of thepresent invention addresses the root cause for errors and, thereby,reduces the need for post-production inspection and the costs of poorquality.

A. Machine Error Control

National standards and “best practices” exist for determining andcorrecting NC machine geometry errors. (See ANSI/ASME B89.1.12M-1985,ANSI B89.6.2-1973, AMSE B.54-1992) These “best practices” constitute thecurrently accepted methods for achieving machine accuracy. We willdiscuss the standards and “best practices” briefly.

1. Thermally Controlled Environment

The machine is held at a constant temperature, e.g., 68° F., in anair-conditioned factory. Errors arising from temperature variations arereduced, but this method does not solve the thermal error problementirely. Three main drawbacks are:

-   -   (i) The cost of controlling the environment is high and        sometimes exceeds the cost of acquiring the machine.    -   (ii) Thermal effects induced by the machine itself (e.g. motor        heat from driving under load, and spindle heating due to        friction) still can cause machine distortion    -   (iii) Mechanical misalignment of axes remains uncorrected.        Mechanical alignments change over time as the machine        experiences normal and abnormal wear. They are essentially        unpredictable, unavoidable, and difficult to control.

2. Machine Calibration

Three-axis machines have 21 error parameters in addition to the errorsintroduced with the machine spindle. The errors are linearity in eachaxis (3), straightness in each axis (6), squareness between each axispair (3), and pitch, yaw, and roll in and between each axis (9). Machinecalibration measures some or all of these 21 error parameters, thenmakes physical or software adjustments to the parameters which are outof tolerance. Once each error is identified, quantified, and minimized,the combination of errors are summed using the root mean squaresalgorithm to gain an estimate for the machine's overall workingtolerance. Machine calibration is inadequate for two reasons. First, themethod requires extensive machine downtime to measure and to adjust theerror parameters. The difficulty in the measurement and adjustment iscompounded by the fact that thermal variation causes dimensional changesfrom shift to shift and day to day. Second, because of constantreadjustment of the machine, the changes mean that the final set of datais not a single “snapshot” of the machine errors, but are a series ofsnapshots each of a different parameter, at a different time, as themachine changes. The root cause of inaccuracy is not fixed, but simplyis accommodated between readjustments. Production is a compromise anddrift occurs in the produced parts as the machine tool changes.

3. Linear Interferometry of Each Machine Axis

The X, Y, and Z axes of a machine are each equipped with a linearinterferometer as an accurate positional encoder. The method allowsreal-time compensation for thermal growth and shrinkage, but isinadequate for at least three reasons. First, it cannot be applied torotary axes. Second, it does not compensate for mechanical misalignmentsbetween axes. Third, it does not address the interaction between axes asthermal changes occur.

4. Volumetric Look-Up Table

This method accurately measures performance of the machine in aspecified dimensional envelope. The accurate performance measurementsare made using an independent, highly accurate measurement machine todetermine the difference between the measured data and the commandedmachine position. The collection of all such errors constitutes or canbe used to generate an error map. A complete error map is used in twoways. First, the error map may be used as a look-up table to determine asimple position correction to the machine when in that vicinity. Second,polynomial equations can be calculated from the error map to interpolateerror corrections over the entire measured envelope. The machine commandfor a position is adjusted with the polynomial equations. Look-up tablesare inadequate primarily because the tables are valid for only onemachine temperature. At other temperatures, the machine will be largeror smaller or have a slightly different geometry. There is no guaranteethat a machine will behave isometrically and return to its originalgeometry as temperature changes occur. So, after a laborious datacollection exercise leading to an empirical table or set of equations toadjust the position of the machine based upon its history ofperformance, the root cause(s) for inaccuracy will still continue todegrade the effectiveness of the error map. The error map is inherentlyinaccurate whenever the machine has changed. As the machine continues towear and age, variations from the measured offsets of the original errormap occur. As a result, errors in part construction may increase.Frequent recalibration is necessary to continue to have an accuratecorrect error map.

5. Combination of Methods

Certain combinations of these methods can be used to overcome weaknessesin the individual methods, but the net effect remains: (1) long downtimeof the machine to measure its true position; (2) expensive testing; and(3) only temporary, corrective results. The root cause for theinaccuracies still remains. For instance, a combination of a thermallycontrolled environment with machine calibration can result in anaccurate machine for a period of time. The cost of controlling theenvironment combined with the cost of machine downtime for checking andreadjusting the machine can be expensive.

6. Thermal Compensation

The axes of the machine are equipped with thermal probes. Thetemperature measured by each probe is used to calculate independent fromthe other axes the theoretical expansion of that machine axis. Theexpansion factors are used to compensate the feedback to the controller,thus eliminating the expansion and contraction of the machinepositioning capability. A newer but similar technique called “real timeerror correction” also uses thermal probes, but attempts to provide a 3D“error model” of the nonlinear thermal behavior of the machinestructure. The error map reflects interdependence between axes, such asbuckling or warping, caused by heating. Compensation is made with acomplicated algorithm that is accurate only for the tested/measuredenvelope of variation and, then, only as the machine remains repeatable.This error model is established by gathering actual 3D machine positionand corresponding temperature data over a range of temperatures, whichcan require significant machine downtime. It can also be difficult toplace the machine in the desired thermal status. While the purpose ofthis technique is to avoid the costs associated with thermal control,thermal control is required to produce the error model. Thermalcompensation follows the same concept as thermal control: modify themachine movement based on actual temperature measurements.

There are two main drawbacks to the thermal compensation method. First,thermal compensation requires periodic machine downtime to calibrate thesensors and the error model. Second, thermal compensation focusing onthe machine does not correct for the expansion of the part or toolingfixtures. If it were possible to eliminate all positioning errors of themachine and perfectly to adjust the machine for temperature, the partcould still be made out of tolerance because of the temperature effectson the part. Thermal compensation attempts to compensate for the partexpansion indirectly by compensating for the machine errors caused bytemperature changes. The correlation between the machine errors and thetotal error, however, is only a partial solution.

In U.S. Pat. No. 4,621,926, Merry, et al. describe an interferometersystem for controlling non-rectilinear movement of an object. The systemuses three, one-dimensional tracking laser interferometers rigidlymounted in a tracker head to track a single retroreflector mounted onthe machine tool end effector. The Merry system is difficult to retrofitto an existing control system for a machine, because its laser feedbackis designed to replace the conventional machine controller.

In the system of the present invention, the laser tracker operatesindependently from the machine controller to provide positional feedbackinformation to the controller in trickle-fed Media blocks. [By “tricklefeed” we mean that motion control information is provided (downloaded)to the machine controller a little bit at a time (in single NC Mediablocks, for example) rather than as a complete program.] Our much largerworking envelope (ten times larger than Merry) uniquely makes our systemapplicable to the manufacture and assembly of large aerospace structure,like wings, and our system design allows implementation readily on alarge variety of existing machine controllers.

Merry determines the location of the retroreflector using trilateration.During set up and calibration, the machine moves in a straight line atconstant speed along one independent axis for the system to establish aframe of reference for the end effector and to provide coordinate datato connect the laser interferometric position measurements with the endeffector motion. Each interferometer is a one-dimensional (single axis)measurement system which generates a signal proportional to the distanceof the retroreflector from the interferometer. With three outputsignals, the Merry control system uses trilateration to calculate thelocation of the end effector, compares this location with the desiredlocation based upon a stored, predetermined path for motion of the endeffector (i.e., the NC program), and actuates the tool's motive assemblyto move the end effector to the next desired location. Lasertrilateration has not been adopted in industry because of its cost,instability, setup geometry requirements, and natural inaccuracy.Trilateration works best if the three interferometers are widely spaced,but the retroreflector is essentially a one-axis target. To track thetarget, the interferometers must be close together which introducessignificant interpolation or calculation errors. Futhermore,trilateration actually requires four interferometers to determineabsolute, true position.

Merry's system replaces the standard machine controller with laserinterferometric position measurement actually and directly to control ofthe tool. By overriding the machine controller, control of the machinemight be lost, for example, if chips obscure the laser beam. For highvalue parts, the risk of loss of control is unacceptable. The Merrysystem, accordingly, has not been implemented for practical use inindustry because of the problems it poses.

In a preferred embodiment of the present invention, static opticalmachine control (SOMaC) is able to adjust the machine media toaccommodate translations, rotations, or both of the machine, part, orboth. SOMaC does so by measuring the position of the part and themachine and scaling for changes from the original reference location andorientation of the part and machine. SOMaC also can adjust (scale) themachine media to accommodate changes in the part, machine, or botharising from changes in factory temperature, temperature of the part,temperature of the machine, and other physical changes in the factoryenvironment.

The SOMaC system of the present invention provides fail-safe machinecontrol because it continues to use the machine tool's conventionalencoders, but augments the true position accuracy in static operation byproviding “on-the-fly” inspection feedback through optical measurementof the true position. Our system corrects for the machine positioningerrors with trickle feed instructions when the machine is at rest andready for its next machining operation.

The Merry system cannot determine the location of the workpiece inrelationship to the machine using the three interferometers alone. SOMaCis able to locate the machine relative to the workpiece using the singleinterferometer. Knowing this reference, SOMaC can provide deltacorrection commands to the machine controller after measuring the trueposition of the machine's end effector to enhance the machine'saccuracy.

B. Laser Trackers

Real-time 3D optical measurement systems (e.g. laser trackers) arestate-of-the-art measurement systems that obtain large quantities ofaccurate 3D data quickly. These optical measurement systems typicallyinclude an absolute ranging capability and a motorized angle steeringhead to steer the laser beam. The steering is controlled by a feedbacksystem that continually drives the laser beam to follow (“track”) theretroreflector. The laser beam is directed from the laser tracker headinto a retroreflective target which is mounted on the machine endeffector. The return beam allows the tracking head to determine both thedistance and the direction (i.e., the horizontal and vertical angles) tothe retroreflector. These three measurements (range, horizontal angle,vertical angle) establish a spherical coordinate system which can easilybe transformed into the Cartesian coordinate system.

Laser tracking systems have the following characteristics:

-   -   (1) Accurate 3D measurement of about 10 part per million (ppm)        volumetric accuracy (0.1 mm in a 10 meter volume);    -   (2) Real-time measurement collection and transmission;    -   (3) Data rates, in excess of 500 3D measurements per second (and        typically as high as 1000 measurements per second);    -   (4) Simple calibration;    -   (5) Virtually immune to errors caused by changes in air        temperature and pressure when using a high quality compensator        (refractometer); and    -   (6) Large measurement volume using a retroreflective target,        typically a partial sphere up to 100 feet in diameter.

Absolute ranging tracking interferometers can reaquire a target that hasbeen temporarily blocked. Absolute ranging tracking interferometers arehighly desirable in manufacturing operations, because movement of themachines, parts, and operators in the factory can lead to beam breaks.We prefer to use absolute ranging tracking interferometers, but many ofour applications can also use the interferometer systems that are lesstolerant of beam breaks.

Laser trackers have been used in many applications such as measuring thedigital contour of aircraft or automobiles, tooling inspections, and NCmachine accuracy testing. The present invention currently uses lasertrackers, but other optical or non-contact measurement systems can besubstituted for these systems to provide the positional feedback for thesystem.

In the aerospace industry, gantry or post-mill drilling machines rangein size up to 70 meters long. The largest of these machines have workingvolumes in excess of 700 cubic meters. The positioning tolerancerequirements for these machines are typically less than 0.20 mm.Attaining 0.50 mm positioning uncertainty within a 100 cubic metervolume is difficult. To standardize the uncertainty statement for NCmachines, it is common to state the uncertainty of the machine in partsper million (ppm). The uncertainty, multiplied by one million thendivided by the longest diagonal distance in the machine volume is thecapability in terms of parts per million (ppm). For example, a typicalmachine with a 0.5 mm positioning capability and 15 meter diagonallength would yield a capability of 33 ppm. Large volume drilling machinecapability below 30 ppm is difficult to achieve. As manufacturers striveto improve part quality and reduce assembly costs, the demand for moreaccurate hole drilling has increased. In aerospace manufacturing, thesetighter tolerances can be as small as 0.10 mm over a 15 meter diagonal,which yields a standardized requirement of 6.7 ppm. Such tolerancesexceed the capability of most machines.

SUMMARY OF THE INVENTION

The present invention involves static optical machine control (SOMaC)and seeks to overcome the thermal and mechanical error sources inherentto large machines by using an absolute ranging laser tracking system orits equivalent to measure the position and orientation of the machineend effector when the machine is stationary. These measurements arereported automatically through the SOMaC computer through trickle feedinstructions for position adjustment to the machine controller. Themachine controller then corrects the machine position as required. SOMaCuses an iterative technique to control the accuracy of the NC machineend effector. A standard deviation control protocol eliminates theeffect of “noise” at the rest position. The protocol discriminates therest position from machine motion or vibration. We incorporate alarmsfor tilt, especially differential tilt of the machine, part, or tracker(using dual axis tilt sensors) and for temperature variation in thefactory.

SOMaC uses “touch probe” or coordinate measurement machine software tolocate critical features associated with the part during systemcalibration. These measurements establish a part frame of reference.During machining, SOMaC controls further operations based uponremeasurement and assessment of the location of these critical features.Because we establish a part frame of reference to which the machineadjusts, we eliminate the need for accurate part fixturing to establisha true position reference. The actual location of the part (and itsfeatures) is established by measuring the location of the features andcomparing the measured location with the location established in adigital definition or digital dataset representation (CAD model) of thepart. The comparison is used not only to calculate the actual partposition, but also to calculate a “scale factor” for adjusting machinecommands to compensate for differences between the actual part and thedigital dataset representation. This “autoscale” feature, in effect,alters the NC Media derived from the engineering specification of thepart to accommodate physical changes to the part that occur duringmachining, such as changes in the size of the part arising from changesin the factory temperature for the design standard 20° C. (68° F.). Forexample, we adjust the machine media to reflect the effect of expansionor contraction of the part because of its natural coefficient of thermalexpansion. For “autoscale,” we determine in parallel whether the scalefactor that we calculate is consistent with the changes in size we wouldexpect from changes in the factory temperature. We monitor the factorytemperature (but could also monitor the part temperature and machinetemperature) and rescale at appropriate intervals (e.g., a change of 2°or 5° at a user defined alarm set point) when the temperature changes.“Autoscale” is a batch or interval adjustment rather than a continuousresealing, which reduces the processing required.

SOMaC preferably involves accurately positioning the end position of theend effector of a static machine with an independent 3D opticalmeasurement device. It is applicable to any machine in which thepositioning accuracy of the measurement device is better than themachine accuracy, which is usually true for laser trackers and largemachines that have at least one axis greater than fifteen feet. Bycontrolling the position of the end effector through the machinecontroller indirectly with the independent optical measurement system,the thermal errors and misalignment errors in the framework of themachine are rendered innocuous because true position of the end effectoris monitored and adjusted without regard to these sources of error. Withthe SOMaC system using “best machining” practices, we obtain a maximumlinear true position error of about 0.003 inch (i.e., 0.0015 inch radialmisplacement) in a ten foot volume with a much tighter distribution forthe offset error than is achievable simply with the machine tool'sstandard controller. We direct the end effector closer to the desiredlocation specified in the digital dataset that defines the part orassembly using the machine tool's controller. Then, we verify that theend effector is actually in the correct location using an independent,highly accurate laser tracker or other position sensor. If out ofposition, we adjust the position of the end effector by sending a deltaadjustment to the machine controller.

While some sources of error may be nonlinear to cause SOMaC to loseaccuracy, we use least squares fit algorithms (or other appropriateregression analysis) to minimize these nonlinearities. Our first order(linear) correction is fairly robust and achieves a significantimprovement in accuracy. SOMaC can accommodate more sophisticatedalgorithms as nonlinearities and anisotropies are understood.

SOMaC uses feedback from an optical measurement device and associatedsoftware to trickle feed position corrections to an existing machineencoder to improve machine accuracy. The system is fast, inexpensive,and reliable to provide position accuracy that is independent from therepeatability of the machine or the relationship of the machine to theworkpiece. The system provides absolute spatial orientation/positioninformation. Our preferred system includes the following features:

-   -   A. SOMaC controls the machine position at the end effector, thus        eliminating major contributors to overall machine inaccuracy.    -   B. SOMaC can be used on a probe-capable machine to transfigure        the machine into an accurate Coordinate Measuring Machine (CMM).    -   C. SOMaC transforms tracker measurements into the part's        coordinate system, which reduces the complexity of the        part-machine alignment calibration process.    -   D. SOMaC provides a Graphical User Interface (GUI) which allows        the user to control various aspects of the machining operations.        The software is a “real-time, event driven” system that        interprets text files for the configuration and programming        information.    -   E. SOMaC provides a graphical user interface displaying:    -   (i.) the positioning accuracy desired;    -   (ii.) statistical parameters relating to tracker measurement        accuracy;    -   (iii.) timing and position thresholds;    -   (iv.) operational modes;    -   (v.) offset and tracker/machine alignment;    -   (vi.) NC feed control;    -   (vii.) tracker position display and sample rates;    -   (viii.) a temperature monitor and tilt monitor alarm set points,    -   (ix.) on-line help.    -   F. By the nature of its software architecture, SOMaC is easily        adapted to new machine controllers. An encoder interface        software module is the only change needed to adapt the system to        a new encoder/machine controller.    -   G. Portability. The trackers and workstation are physically        portable and, therefore, a single system can be used to service        many different machines.    -   H. Beam break recovery. SOMaC has two modes of recovery if a        laser beam is interrupted.        -   (i.) Manual Recovery: the system halts and allows the            operator to return the retroreflector manually to the            tracker, regain beam-lock, and then continue.        -   (ii.) Automatic Recovery: the system returns the machine to            a known location, commands the tracker to establish            beam-lock, and then continues with the NC program.    -   I. SOMaC's architecture is easily adapted to new optical        measurement systems, multiple measurement systems, or hybrid        measurement systems.    -   J. SOMaC uses “trickle-feed” communication with a controller to        integrate an NC machine with both the laser and the external        software controller to create an easily packaged system that is        capable of improving the accuracy of a machine. This method        makes SOMaC applicable to a wide number of controllers with        minimal integration effort.    -   K. SOMaC produces an audit trail of machining events. That is,        SOMaC records the correction instructions it provides to the        machine controller during the sequence of operations. With this        data, it is easier to detect progressive machine drift or wear        degradation or even to identify errors in the digital        representation of the part.    -   L. SOMaC integrates the laser tracker with the machine in a        computer remote from the machine controller so the system can be        retrofit to many different NC controllers without software        modifications to the controller.

The present invention relates to a method for improving the accuracy ofmachines. Machine mispositioning is corrected by providing deltaposition correction commands in machine media (e.g., NC Media) to amachine controller if a comparison of the true position of the machinetool under the control of the machine controller and the position inwhich the machine controller locates the machine tool based upon machinemedia instructions derived from an engineering specification of the partexceeds a predetermined offset threshold.

In one aspect, then, the present invention is a method for improving theaccuracy of machines, comprising the steps of: (a) driving a machinetool having an end effector to a first commanded location based uponcommands generated from a digital definition of the part or assembly onwhich the machine tool works; (b) precisely measuring the position ofthe end effector when the machine tool stops at the first commandedlocation; (c) comparing the measured position with the first commandedlocation; (d) sending delta correction commands to the machine tool toadjust the position of the end effector if the difference between themeasured position and commanded position exceeds a predeterminedthreshold; (e) optionally, scaling the commanded position for thermaleffects as derived from the digital definition with a thermal effectscale based upon deviation of the actual temperature of the workspacefrom the theoretical design criteria and adjusting the delta correctioncommand in response to the thermal effect scale; (f) optionally, scalingthe commanded position as derived from the digital definition with aconfiguration scale based upon measurement of a change in location ofcritical features on the part, assembly, or associated tooling andadjusting the delta correction command in response to the configurationscale; and (g) optionally, measuring the machined part using aninspection probe mounted in the machine and guided to a machinecommanded position with machine commands derived from a digitaldefinition of the part, the inspection involving measuring a set ofinspection features, the measuring being conducted to accept the partand being augmented by providing delta correction commands to themachine to increase its accuracy, the delta correction commands beingderived from comparing measurements of true position of the probe withthe machine commanded position.

The invention also relates to a method for accepting a product bymeasuring its features in inspection tooling, comprising the steps of:(a) positioning a measurement probe in a spindle of a machine; (b)measuring selected inspection features on the product as a set ofinspection measurements with the probe in accordance with an inspectionsequence derived from the intended configuration of the product asspecified in a digital definition of the product; and (c) scaling theintended configuration of the product as specified in the digitaldefinition to adjust the relative size and position of features inaccordance with measurement of changes in the actual configuration ofthe product in the inspection tooling caused by changes in factoryconditions. Generally, such acceptance is done before removing theproduct from manufacturing tooling and manufacturing machines associatedwith making the product. This product acceptance method allows amanufacturer to use a machine tool for product inspection rather thanneeding a precision Coordinate Measuring Machine. Such “inspection”permits greater use of machine tools and reduces the overall capitalexpenses for tooling by making machine tools versatile as inspectiondevices.

The present invention also relates to computer software storage mediahaving computer-readable information recorded to provide repositioningcommands to a machine controller based upon a comparison of the measuredtrue position of a machine tool end effector or inspection probepositioned at a commanded position using positioning data derived from adataset representation (i.e., digital definition) of a part with theposition to which the machine controller moves the end effectorfollowing the machine media implementing the position data.

The present invention also relates to a machine tool system havingimproved positioning accuracy, comprising: (a) a machine tool, includingan end effector, adapted for performing a machining operation of a part;(b) a machine controller coupled with the machine tool for commandingmovement of the machine tool to a commanded position through positioncontrol media derived from an engineering drawing or a digital datasetrepresentation of the part; (c) at least one laser tracker positionedfor measuring the true position of the end effector; (d) a computingsystem for comparing the measured position of the end effector with thecommanded position and for providing trickle feed adjustment signals tothe machine controller to offset any difference between the commandedposition and the measured position; and (e) optionally, means foradjusting the commanded position derived from the digital datasetrepresentation of the part for time varying factory conditions thatimpact size or orientation of the part.

The present invention also relates to a method for modifying the spatialspecification of machine media representing a part configuration tocompensate for a temperature difference between the design temperatureand the actual temperature of the part or a manufacturing workcell,comprising the steps of: (a) creating a computer-readable datasetrepresentation of an intended configuration of a part at a referencetemperature; (b) upon a temperature change of a predetermined interval,measuring the part in the manufacturing workcell in sufficient locationsto identify the relative change in size or orientation of the partattributable to factory conditions; and (c) adjusting the datasetrepresentation by the ratio of the remeasurement/reference measurement.

Finally, the present invention relates to a method for modifying thespatial specification of machine media representing a part configurationto compensate for a changes in a part during its manufacture in afactory, comprising the steps of: (a) measuring the part in sufficientlocations to identify the actual configuration in a first digitalrepresentation; (b) remeasuring the part to produce a second digitalrepresentation of the part; (c) comparing the second digitalrepresentation with the first digital representation to determine ascale factor; and (d) adjusting the machine media in accordance with thescale factor.

These and other features of the present invention will be betterunderstood upon consideration of the accompanying drawings and thedetailed description of the invention.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a schematic isometric view of the SOMaC concept with two,freestanding laser trackers positioned at extremes of a post mill'sworking envelope to improve the accuracy of a drill mounted on anotherwise conventional post mill.

FIG. 2 is a block diagram of the SOMaC machine correction process.

FIG. 3 is a block diagram of the SOMaC computing architecture hardware.

FIG. 4 is a block diagram illustrating the SOMaC interface running on anIBM RS6000 controller so that the conventional machine tool can achievetrue position accuracy to produce parts with the accuracy intended inthe digital part design (i.e., 3D solid model).

FIG. 5 is a schematic illustrating machine movement in response to theadjustment in machine position that SOMaC provides through an errorcorrection vector to place a hole more accurately at a nominal holelocation after the machine has positioned itself to a commandedlocation.

FIG. 6 illustrates the process for establishing a spatial referencebetween a machine and a part.

FIG. 7 illustrates the transformation process for adjusting the machinemedia to account for movements of the machine, part, or both afterestablishing the spatial reference of FIG. 6.

FIG. 8 illustrates a machine tool adapted for real-time orientationusing absolute ranging laser interferometers and SOMaC to control thedrilling and tooling ball references on a part jig.

FIG. 9 is a typical histogram plot for hole placement on a part.

FIG. 10 illustrates a machine using multiple of trackers in separatecontrol zones for controlling accuracy of a gantry mill over a largework envelope.

DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT

After providing a general overview of SOMaC, we will describe the SOMaChardware architecture. Then, we will describe the computing softwarearchitecture. Throughout this description, we will discuss animplementation of SOMaC for an NC machine, but the principles areapplicable to robots, automated tools, machines, fixtures, and otherobjects that move under automatic or manual control.

Improving the accuracy of a machine, automated tool, or robot so thatparts are manufactured closer to the engineering specifications involvesaugmenting the machine control with an independent, higher accuracyposition measurement system to correct for machine and factory-inducederrors. SOMaC provides delta correction commands in machine media to themachine controller to move the machine's end effector closer to theintended machining location. The independent measuring system identifiesthe true position of the end effector when the machine stops prior tomachining. SOMaC then, adjusts for misplacement of the machine becauseSOMaC knows the relationship of the part or workpiece to the machine(i.e., the orientation) and measures both in a common frame ofreference. To accomplish its augmentation function, which improves theC_(P) of the machining process and lessens the rate of machine drift,SOMaC must have machine media derived from a digital definition of thepart, must calibrate the machine and part to know their relativepositions, must calibrate machine-mounted retroflectors (targets) to theprecise position of a tool tip, and then, must execute augmented machinemedia to accomplish the machining operation while adding the deltacorrection commands.

Preparing the machine media involves deriving commands for moving themachine in a sequence of machining operations to produce the part thatis specified in its physical characteristics in a digital definition(CAD model) of the part. The derived path and points are called “machinemedia,” a set of software instructions that the machine controller caninterpret. Machine media for product acceptance also must be derivedfrom the engineering specification of the part. For product acceptance,an inspection probe will identify and measure critical features of thepart to assure that the part does in fact correspond with theengineering specification.

Establishing the orientation of the part and machine, what we also call“calibration of the system” is described in greater detail at the end ofthis detailed description. Calibration sets the frame of referencebetween the independent, high accuracy measurement system, usually alaser tracker, and the machine and part. To calibrate, the tracker mustmeasure at least three predetermined positions within the working volumeof the machine.

Calibrating the retroreflectors generally involves touch probemeasurement of critical features of the part with the machine while thetracker is also measuring the system. In effect, the coordinates are“synchronized” during this step as the machine and tracker agree thatthe location of each critical feature is at the coordinates that themachine media specifies. During this step, SOMaC also determines theinitial reference scale which it will use with autoscale or real timeorientation to adjust the machine media for changes in the part,machine, or both arising from factory conditions during manufacture ofthe part.

When the machine executes the machine media at each stoppage of themachine (or at other operator-defined intervals), SOMaC measures thetrue position of the end effector and computes the delta correctioncommands necessary to improve accuracy, including scaling adjustments.

SOMaC improves machine accuracy, especially of large NC machines. Byimproving accuracy, SOMaC produces parts that exhibit less variation.The parts are closer to the engineering specification and the naturaldrift in the accuracy that arises from machine wear or accumulation oferrors is reduced significantly. Parts having smaller variation areeasier to assemble. They assemble into structures that are closer to theengineering specification. SOMaC has the potential to eliminate the needfor machine accuracy certification and post-process inspection. Itdramatically reduces a manufacturer's tooling costs by allowing themanufacturer to upgrade its machines to increase their inherent accuracyand by making the manufacturer's machines more versatile. In one aspect,SOMaC can be used for product acceptance (inspection) in place of aCoordinate Measuring Machine (CMM). It allows manufacturers to minimizecapital, facility, and maintenance (lifecycle) costs which are criticalgoals at controlling product costs in today's world of lean and agilemanufacturing. SOMaC reduces part and assembly cost, reduces overallmanufacturing cycle time, improves the quality of parts and assembliesso that they correspond more closely with the engineering specification,and improves customer satisfaction because the improvement in productperformance, at least for aerospace products. The performanceimprovement comes with reduced unit cost.

I. SOMaC Hardware Architecture

Five hardware elements (FIG. 3) of the preferred SOMaC system are: (1)the machine, (2) the machine controller, (3) the independent measurementsystem (e.g., laser tracker), (4) the independent measurement systemcontroller, and (5) the workstation. Machines and their controllers areresponsible for many aspects of machine control including part programcontrol, operator interface, servo control, power distribution andcontrol, encoder signal conditioning, and communication with externaldevices. Many machine controllers exist, with only minimal industrystandardization. The diversity in controllers poses a significantproblem when attempting to integrate or to migrate a capability such asSOMaC to a large base of installed machines. Our method for overcomingthis problem will be addressed later in this description. The solutionis important to a practical implementation of the capability, becausemanufacturers like Boeing benefit most by being able to use the systemwith the largest number of its existing machine tools.

Our preferred workstation is an IBM RS6000 running an AIX operatingsystem, but other systems with similar capabilities might also be used.The workstation provides the link between the laser tracker controllerand the machine controller. The workstation controls the part program,requests measurements from the laser tracker(s), and provides deltacorrection commands to the machine to move its end effector (orinspection probe) closer to the intended (design) location. SOMaCremoves program control from the NC controller to the workstation. Theworkstation trickle feeds the program commands of an error correctionvector defining a delta correction command to the controller. The lasertracking system controller is currently an IBM compatible PC runningunder the DOS operating system, but any equivalent processor oroperating system can be substituted. Future implementation may combinethe laser tracker controller into the workstation.

FIG. 5 illustrates this improvement in machine accuracy. The machine 100carries a drill 110 to location #1 based upon machine media commandsderived from a digital definition of the part 120. In location #1, ifthe machine were to drill a hole in the part, the hole 130 would beoffset from the nominal hole location 140. With SOMaC, the tracker 150determines the position of the drill 110 using retroreflector targets160 on the machine 100 and tooling balls 170 on the part 120. SOMaCtrickle feeds commands for the error correction vector 180 to themachine 100 to move the drill 110 closer to the nominal hole location140 using a Threshold—Iteration feedback loop.

Communication between each of the hardware components is serial, usingRS-232 or Ethernet. Serial communication is commonly used betweenmachine controllers and other devices, and is particularly suitable forSOMaC because communication between the three computing systems need notbe deterministically timed or be at extremely high data rates. Thesingle serial link between the tracker system and the workstation isbi-directional, half-duplex. The serial link between the workstation andthe controller varies among machine controllers. Future implementationsmay include other communication schemes.

We define a Threshold variable as the allowable dimensional differencebetween the commanded machine position and the measured machineposition. We also define an Iteration variable to determine the maximumnumber of times that the “move-check-move” loop is allowed to occurbefore confirming a spatial location or signaling an alarm. The machinepre-positions the end effector at an initial position as commanded bythe media. The tracker measures the position and/or orientation of theend effector. The machine commanded position and the tracker measuredposition are compared, and a decision is made whether to move themachine based on the Threshold value. If the difference is greater thanthe preset Threshold value, then the machine must be repositioned. Afterthe machine is repositioned, the system must measure the machineposition again. This decision whether to remeasure is made based on theIteration value. For example, if the Iteration value is zero, thetrackers will never verify that the machine has been correctlyrepositioned. In practice, the Iteration value is not set to zero. If anIteration is required, the tracker remeasures the machineposition/orientation. The system compares the positions, sends deltacorrection commands and continues until either the Iteration counter isexceeded or until the comparison between the machine commanded positionand tracker measured position is smaller than the preset Threshold.

If the Iteration counter is exceeded before the Threshold is met, anerror message is presented to the operator, who makes a decision abouthow to continue. Selected values for Threshold and Iteration optimizethe efficiency of the operation. Important factors to consider whenselecting Threshold and Iteration are (1) the repeatability of themachine, (2) the repeatability of the tracking system, (3) theresolution of the machine, (4) the engineering tolerances to the item tobe drilled, and (5) the allowable correction time per hole.

In addition to Threshold and Iteration, the workstation software alsopreferably includes the following user-definable parameters:

-   -   (i) Maximum Incremental Compensation. This parameter is the        maximum allowable machine correction for any single machine        position. If exceeded, the system produces a warning.    -   (ii) Maximum Total Compensation. This parameter is the maximum        total machine correction for a particular workpiece. if        exceeded, the system produces a warning.    -   (iii) Standard Deviations. This parameter is the allowable        variation in multi-sampled machine measurements before the        object measurements are deemed reliable.    -   (iv) Maximum Allowable Temperature Change. If exceeded, the        system will not continue machining the workpiece, but re-orients        itself to the workpiece to determine if any        expansion/contraction or part movement has occurred.    -   (v) Minimum/Maximum Temperature. If minimum or maximum specified        temperature limits are exceeded, the system will stop        operations.    -   (vi) Maximum Change in Differential Inclination. The system        incorporates differential inclinometers any number of which can        be placed in any orientation on any component in the system        (machine/part/tracker). When the relationship between any two        inclinometers changes by more than a user definable amount, the        system automatically re-orients itself to the part to compensate        for any part/tracker/machine movement that occurred.

Generally these parameters are set based upon the worst case accuracyhistory of the machine and the necessity of producing a part or assemblyto the closest reasonable conformity (tolerance) to the engineeringspecification. Alarms should be triggered when continued operationthreatens to produce a nonconforming, unacceptable part so thatadjustments are made before rework or scrap results.

FIG. 1 illustrates a post mill 10 with a carriage length of up to about200 feet where two Leica SMART310e or equivalent laser interferometers20 are positioned at the extremes of the lateral motion. SOMaC isreadily adaptable, however, to other conventional machine toolsincluding overhead gantry multiaxis machines, Boeing's automated sparassembly tools (ASAT), GEMCOR riveters, Boeing's Multi Task GantryRiveting System (MTGRS), and the like. The SMART310 laser interferometerhas a range of about 100 feet, so the lateral distance of traveldictates when multiple trackers are required to cover the workingenvelope. SOMaC can accommodate multiple trackers simultaneously usingdata combination algorithms and protocols including chief/slave, voter,weighted bundle protocols for the several channels of position data, orit can switch between trackers in sequential working zones. FIG. 10shows one arrangement of multiple trackers. A gantry mill 50 moves overa part 60 in an area approximately 200 feet long by 50 feet wide. Fourtrackers 70 are positioned at selected locations around the work area toprovide full measurement coverage for the part 60 in coverage zones 80,82, 84, and 86, which overlap one with another in certain locations. Insome overlap volumes, two trackers will be providing measurement datawhile, in a few volumes 92, three trackers will be measuring. Theextreme ends of the work envelope, however, will fall into the coveragezone of a single tracker. For areas of overlap in the sequential trackersystem, we prefer to use the weighted bundle control protocol wherevermore than one tracker is in range and is providing measurement data tothe SOMaC processor. Measurement data from multiple trackers overdefinesthe system of equations for calculating the transformation. The extradata is redundant or improves accuracy. Weights reflect, in part, theconfidence attributable to the accuracy of that tracker's data and aredetermined by geometry and experience.

One tracking interferometer can provide 3-axis position measurement andcontrol. Multiple trackers operating in the same envelope are requiredto obtain 4-axis or 5-axis control. With multiple trackers we usecombining algorithms that maximize measurement confidence, therebyminimizing error. Newer trackers with absolute ranging capability allowus to control all axes of a machine with a single tracker.

The trackers generally include as a standard feature a refractometerforwavelength compensation for changes in the index of refraction of thefactory air. The ranging accuracy otherwise can be significantlyeffected by changes in temperature, pressure, or humidity in thefactory. For the improvements in accuracy that SOMaC seeks, such acorrection for the ranging is important to achieve the desired results.With index of refraction adjustment, laser trackers are capable ofexcellent measurement accuracy in large volumes in real time to partsper million. With this accuracy, the ranging measurements can providesufficiently accurate true position feedback to improve end pointposition control of a machine.

II. SOMaC Software Architecture

The SOMaC software has two, main parts: the workstation software and thetracker software. Autoscale and real-time orientation are components ofthe workstation software that we generally include.

A. Workstation Software

The primary purpose of the workstation software module called “SOMaC”(FIG. 4) is to provide a link between the tracker, the operator, and themachine. SOMaC has several logical pieces or processes eachcommunicating via an Inter-Process-Communication (IPC) technique. Theportions of the system which are machine specific have been isolatedinto separate processes for future “plug-and-play” capabilities, (e.g.,incorporating a new machine family).

SOMaC software is “plug-and-play” compatible with the Valisys family ofsoftware products (available from Technomatix Technology Corp.), thusenabling communication to a wide variety of NC mills and NC coordinatemeasuring machines (CMM's) via existing Valisys Machine Tool Interface(MTI) modules. SOMaC uses an interpretive C language or counterpart todrive its operation, although any suitable programming language could beused. The interpreted information is stored in human-readable textfiles. SOMaC provides the primary graphical user interface (GUI) for theSOMaC process and communicates with other MTIs, isolating itself frommachine specifics and increasing its general applicability.

The SOMaC MTI provides the primary human interface for the SOMaCprocess, and also communicates directly with other MTIs. While thismodule does not communicate directly with the tracking devices or the NCmachines; it communicates with the machine tool interfaces (MTIs) thatcommunicate with the tracking devices. The following functions arepreferably integrated into the SOMaC module:

1. USER INTERFACE

The user interface is Windows oriented, after the Motif user interfacestandard.

2. SYSTEM CONFIGURATION MANAGEMENT

The user may specify, store, and retrieve a system configuration.Elements of the system configuration include: the number and type oftracking devices to use; the accuracy Threshold, the Iteration limit;the combination of machine axes to control; display precision; and logfile format.

3. AXIS TRANSFORMATIONS

The tracking system coordinate reference frame is alignable with thereference frame of the machine using “three point fit” or “least squaresfit.” Three point fit uses only three points in common to the trackerand the machine to calculate the transformation matrix from the trackerframe of reference to the machine frame of reference. Least squares fitperforms the transformation using more than three common points. Bothmethods, however, accomplish the goal of converting tracker measurementsinto coordinates that are meaningful in the machine coordinate system.Once this transformation has been performed, SOMaC automaticallyprovides for a human-readable, real-time display of actual (laser)machine position that can be read by the operator of the machine anddirectly compared to the machine independent position display. Thistransformation is not required to be accurate because futuremeasurements of critical features on the part define the relationshipbetween the tracker and the part.

4. ERROR RECOVERY

During a drilling or inspection process, the laser tracker system maylose sight of one or more target on the end effector of the machine andbe unable to re-establish contact. The tracking “lock” can be broken ifthe end effector's retroreflector (target) rotates beyond the usablerange, intervening structures block the tracker and retroreflector(target), or poor repair/maintenance obscures them. The SOMaC moduleprovides three error recovery techniques: manual, “look-ahead,” and“look-back” from loss of the beam.

The manual method allows the operator to stop the process, and manuallyreturn the target to the tracker to re-establish contact. The operatorplaces the target at a known (home) location which the tracker measures.Then, the operator moves the target to the actual position while thetracker tracks the target. In this way, the tracker knows the actualposition with reference to the home position.

The “look-ahead” method causes the tracking device to point to theposition of the next required measurement, and wait for the target tocome into view. When in view, SOMaC can command the tracker to gather anaccurate measurement. The look-ahead method can only be used withtracking systems possessing absolute ranging capability. Trackingsystems with laser interferometers measure relative changes in range andmust therefore have a starting index location with known coordinates ofsufficient accuracy. Tracking systems with laser radar ranging systemsmeasure absolute ranges from the tracker to the target, and do notrequire an accurate index. Therefore these systems can be commanded to“look-ahead” to the next measurement location of the target.

The “look-back” method causes the machine to regress along its path tothe point of the most recent measurement before the error occurred. Thetracker is then commanded to return to those coordinates, and is able toresume tracking, assuming, then, that the range to the target is thesame as when it last was measured. The “look-back” method is susceptibleto dimensional errors if the machine repeatability is beyond acceptabletolerance limits, because it relies on the machine to establish the‘true” position. Therefore, each use of the “look-back” methodintroduces an error in the absolute position corresponding to themachine repeatability spatial error. If the beam is lost any significantnumber if times, drift will occur with the “look-back” method.

5. NC PROGRAM CONTROL

The SOMaC module is in control of “trickle-feeding” blocks of motioncommands to the machine controller. The SOMaC module allows theoperator, the programmer, or a post processor to insert user definedkeywords in the motion program which indicate when a tracker inspectionof location (and machine adjustment, if appropriate) occurs.Alternatively, existing character strings can be used as keywords. SOMaCaccurately updates the machine position with laser tracker data onlywhen it encounters a keyword. The following example uses “Measure SOMaC”as the keyword:

-   -   . . .    -   N101X50.000Y100.000Z5.000A90.00C0.00    -   N102 (MSG, Measure SOMaC)    -   N103G1Z2.4    -   N104X51.000Y101.000Z5.020A90.00C0.00    -   N105 (MSG, Measure SOMaC)    -   N106G92X50.000Y100.000Z5.000    -   . . .

Upon encountering the “Measure SOMaC” keyword, the SOMaC system willprompt the tracking interferometer (or other independent measurementsystem) to measure the current machine position. When the iterationprocess is complete for that measurement, the machine is accuratelyrepositioned so that the motion program commanded position and the truespatial position correspond. Then, the block following the keyword isexecuted. In our example, a hole is drilled (Z 5.000) on block N106. Themotion program is displayed to the operator on a monitor as the motioncommands are “trickle-fed” to the machine controller so that theoperator can confirm part program operation.

B. Tracker System Software

The tracker system software (BoTrack, FIG. 4) is a DOS applicationwritten in C which resides on the laser measurement system controller.This software receives commands from the tracker interface, takesmeasurements, and reports the measured coordinates back to the trackerinterface. In addition, this software communicates with a refractometerfor wavelength compensation of the laser, as previously described. Toupdate the index of refraction prior to each ranging measurement, thesoftware queries the refractometer for the current index of refraction.The software compares the current index of refraction with the lastindex of refraction. If the values differ by more than a preeterminedamount, such as 0.5 parts per million, the software changes the storedvalue of the index of refraction to the current value and uses thecurrent value to calculate the distance. In this way, the most accurateenvironmental conditions are always used when making a rangingmeasurement and range calculation in the tracker's processor.

This software isolates the SOMaC workstation software from anyparticular type of measurement hardware or software. This flexibilityenhances SOMaC's utility in the factory because SOMaC can be used withany hardware combination it encounters with minimum software developmenteffort.

The software operates in two modes: Automatic and Diagnostic. Theautomatic mode is used when SOMaC is operational. In the automatic mode,the software automatically responds to commands sent from the SOMaCmodule. In the diagnostic mode, the operator uses commands in the menustructure to perform various tasks.

C. Autoscale

Next, we will discuss automated spatial adjustment of the NC Media tocorrect for temperature effects in the manufacturing environment. Wegenerally refer to this feature as “Autoscale.”

Numerically Controlled (NC) machine tools receive positioning commandsvia human-readable machine language, called NC Media or Machine ControlData. The NC Media is generated (either manually or with computerassistance) from an engineering drawing or a Computer Aided Design (CAD)model (i.e., a digital dataset) of the part. The engineering drawings orCAD model represents the desired configuration of the actual part. Realparts, however, usually change size as a function of the ambienttemperature. The materials have a coefficient of thermal expansion (CTE)that identifies how much they will expand or contract in response to achange in the temperature. Recognizing this problem, most engineeringdrawings and CAD models tie the designed dimensions to a specificreference temperature, internationally agreed upon as 20° C. (or 68°F.). The part material is never exactly at 20° C. at the time ofmachining. So a problem may exist in making the part actually reflectthe design intent as established in the engineering drawings or CADmodel. If a part is machined when it is hotter than 20° C. (even by justseveral degrees), the resulting part will probably be dimensionallydifferent than nominal when cooled to the 20° C. reference temperature.Depending on the material, tolerances, and temperature, the machinedpart may be in tolerance when machined, but out of tolerance whenequilibrated to the reference temperature. To make matters worse, eachmaterial has a different coefficient of thermal expansion (CTE), and anaircraft assembly can include a large number and wide range ofmaterials. Also, the milling machine changes shape as it expands orcontracts with changes in temperature.

The conventional approaches to correct for the change in dimensions andshape that arise from changes in temperature include controlling thetemperature of the factory or monitoring the factory temperature andapplying an empirical adjustment to the machine encoders in response tothe temperature measurement. As we will explain, these solutions, evenwhen combined, do not achieve precision machining.

The effects of temperature on precision manufacture of parts and theirsubsequent assembly can be quite expensive. Components made in differentfactories and at different temperatures may not assemble togetherproperly, causing rework, scrap, or schedule delays. The impact issevere especially for assemblies that rely upon accurate placement ofcoordination features (especially holes) for precise assembly intoproducts more accurately reflecting the engineering design rather thanthe shape of assembly tooling. U.S. Pat. No. 5,033,014 discusses thisdesign verses tooling problem in greater detail. Aerospace is a fieldwhere performance of the product is significantly impacted by even smallvariations or deviations in the “as-built” assembly from the intendeddesign. Therefore, there is a significant need to adjust machining toaccommodate factory and part temperature variations. The solution alsomust be iterative to allow scaling throughout the machining operationthat can continue for hours or days.

Inclination (tilt) of parts and machines is an important considerationbecause the changes in temperature which cause expansion and contractioncan lead to tilting of the machine, part, or tracker. We placeinclinometers on each of these to provide an alarm signal that thespatial relationship between them has changed. If a tilt alarm conditionarises, the operator must recalibrate the tracker to the part.

Autoscale is a thermal compensation technique applicable to industrialoptical inspection systems such as photogrammetry, theodolites, andlaser trackers. Autoscale measures the locations of actual partreferences or features, determines how much the part has actuallyexpanded (or contracted) from its design reference state, and, then,applies a size variation compensation factor (a scale) to subsequentpositional operations. The Autoscale technique does not rely uponmeasurement of the part temperature, but rather relies upon the actualpart size. The autoscale factor is a ratio (expressed as a decimal) ofthe part's “actual” size over the reference size. The scale factor is a“best fit” of the actual part based upon its measured geometry comparedto its reference geometry. Actual workpieces exhibit nonlinear changesbased upon a number of factors. We check our scale factor againstindependent temperature measurements and part growth models to minimizedisparities and to detect unexpected behavior. We conduct the partposition calculations in conjunction with autoscale.

Autoscale functions in three dimensions by assessing the volume changeof the part based on movement of the part references or features. Whilethree tooling balls is sufficient for establishing a 3D coordinatesystem, we prefer to use a larger number of tooling balls to obtain afiner gradation of changes over the work envelope. We can use any threeballs to establish a reference plane and can divide the part into zonesor can verify bending, bulging, or twisting in the part with theintermediate balls. We implement autoscale using the same tooling ballsthat we place on parts or tools for conducting theodolite qualityinspection. Autoscale is tied to temperature variations with thesoftware we have designed. That is, we make measurements of the toolingballs based upon variations of a sufficiently large (threshold) changein the factory temperature. We might rescale every time the temperaturechanges by 2° F., for example. Real-time orientation is not tied to atemperature variation trigger for measurement and rescaling. Instead,with real-time orientation, the system is rescaling continually beforeeach machining operation by measuring the tooling balls.

For example, if the distance between two holes on a part is 100 inchesat the design reference temperature and the actual measured distance onthe warm part is measured to be 100.10 inches, the autoscale factorwould be 100.1/100.0=1.001000. If two additional holes need to bedrilled into the part at a distance of 200 inches apart, we apply theautoscale factor to the 200 inch desired value, and actually drill thetwo holes 200.2 inches apart. When the part returns to the referencetemperature, the two holes will be exactly 200 inches apart, as desired.

Autoscale or real-time orientation is useful when the part in questionmust be made over a relatively long period of time, and in variousstages, with the possibility of experiencing many different temperaturestates. In fact, the main effect of autoscale is that the part can beprocessed in a variety of thermal states, yet when done, conform best tothe engineering design dimensions.

Autoscale relies upon a pre-established set of coordinates for a seriesof features on the part of interest. This data, called a reference file,can be generated from any inspection system with sufficient accuracy forthe application. The coordinates in the reference file represent theposition of the features (usually in the part reference system)typically, at 20° C. The coordinates are determined by inspecting thepart while equilibrated at the design reference temperature, or byscaling inspection data. This reference file becomes a unique data setthat is associated with the part and can be used in the next steps ofthe autoscale process.

Autoscale:

-   -   (1) Creates a reference CAD file for the part (fly-away        hardware, tools, gages, holding fixtures, etc.);    -   (2) Mounts the part to the machine bed;    -   (3) Measures the references (using a machine touch probe or an        independent inspection system);    -   (4) Calculates the scale factor;    -   (5) Applies the scale factor to the machine control media;    -   (6) Prepares the machine for machining at the adjusted        coordinates; and    -   (7) Continues to machine the part at the reset scale until the        temperature has changed sufficiently to merit resealing, or        rescales continually (for the real-time orientation        implementation).

Autoscale measures the factory ambient temperature or the parttemperature, or both. The increments for triggering a rescaling areselected at intervals where the temperature change will produceidentifiable changes in the machining accuracy, and generally is 2–5° F.(1–2.5° C.). Continuous scaling generally is not required. Selectingreasonable rescale increments reduces computer processing.

D. Real-Time Orientation

Temperature is only one factor to consider. Accurate placement offeatures on parts requires accurate machines. Large machines, especiallydrilling machines, are inherently inaccurate because of temperaturevariation, ground movement, machine positioning accuracy (straightness,squareness, linear positioning, etc.), or wear. The most frustratingproblems, of course, are the environmental conditions that are difficultto control and are unpredictable and difficult to reproduce, like groundmovement associated with ocean tides. The effects are often nonlinear orchaotic. They can alter the spatial relationship of the machine and thepart during a manufacturing run which produces inaccuracies.

Making the machines and tools massive so that they resist twisting andbending from natural, external forces is common and is expensive. Forthe most accurate machining, frequent calibration and re-calibration isrequired which increases cost. The time required to calibrate can belonger than the periodicity of the phenomenon (tides, temperature, etc.)which alters the part-machine spatial relationship. If the calibrationis slower than the period of the variation, the calibration adjustmentswill be difficult to make to an acceptable degree of certainty.

In our preferred embodiment, we implement real-time orientation (RTO)using absolute ranging tracking interferometers. These devices are ableto measure the distance accurately to an optical target, and can bepointed via rotary controls to collect data from a series of targets.The combination of distance and angle measurements are converted to a 3Dspatial location for each target location. Large parts are accuratelyconstructed by first creating reference locations or critical featureswithin the part volume. These critical features are “inspected” byoperators to locate the part accurately in correlation with the featuresand coupled within the machine's coordinate system. Often, the criticalfeatures are “tooling balls” or spheres mounted on pins which areaccurately located on the part.

The real-time orientation process:

-   (1) Determines the relationship (nominal) between the tracker and    the machine by running the machine along a predetermined path while    monitoring position with the tracker;-   (2) Creates a reference program that defines a series of    3-dimensional locations for a set (minimum of 3) of optical targets    mounted on a part;-   (3) Between each drilling operation, measures the location of each    target with the tracker;-   (4) Computes the mathematical transformation between the nominal    locations and the current locations of the reference targets;-   (5) Applies the transformation to the machine media; and-   (6) Feeds the transformed media to the machine.

The measurements permit the machine to drill, in our case, in theintended location despite translations or rotations of the part, themachine, or both. FIGS. 6 & 7 illustrate the process. In FIG. 6, RTOestablishes the common reference between the machine and the part. Withboth the machine and part translated to an offset position, as shown inFIG. 7, the RTO measurements produce a transformation (i.e. an errorcorrection vector) for the machine media to still allow the machine todrill at the intended (nominal) location. That is, RTO allows accuratemachining despite movement of the machine, part, or both and despitegrowth or shrinkage of the machine, part, or both. RTO accommodates the“necessary evils” of actual manufacturing with a robust solution (atleast for machines with 5-axis capability).

Our technique relies upon a pre-established set of coordinates for aseries of optical targets on the part of interest. The software providesa method for defining, pre-measuring, and then orienting to the targets.When the targets change position as a result of mechanical, thermal, orother effects, a best fit location of the set of targets is tracked. NCmedia, which is being fed to the machine controller, is modifiedon-the-fly as the part is being drilled in correlation with the measuredposition and orientation changes in the part. Between drill operations,the position of the part is monitored. The next drill operation isshifted and scaled by a scale factor as appropriate to place that holein the correct location relative to the previous holes and theengineering design.

For real-time orientation, the actual position of the reference featuresis monitored continually or incrementally between each machiningoperation with absolute ranging laser trackers. The computer calculatesthe coordinate transformation that has occurred between the design(nominal) locations of the reference and the actual, measured locationsand applies the appropriate scaling factor to adjust the NC media.

The following simple example and FIG. 6-8 illustrate the real-timeorientation process. At least three optical targets 800 are on the part810, and at least three are on the end effector 820 of the machine orrobot 830. They are spaced on the part to represent its physicalcharacteristics. Using many targets on the part can provide enhancedsensitivity or detail in areas of critical concern. The part's initiallocation is measured by determining the locations of its targets. Foreach drill location the tracker or trackers 840 measure the locations ofthe targets on the machine and on the part and SOMaC computes theappropriate scale factor and position adjustment. A delta correctioncommand adjusts the machine media to move the cutter to the actuallocation for its next operation. Changes in the machine-to-partrelationship are unimportant if the machine is a 5-axis (6 degree offreedom) machine tool. That is, the drill tip on a 5-axis drillingmachine or robot can be fully compensated for errors in translation androtation, if the changes are slow with respect to the machiningoperation (such as those associated with tide or temperature changes). Aminimum of three optical targets 800 on the machine 830 and on the part810 is required to track both the part and the machine in six degrees offreedom. Adjustments are made based upon the last measured position ofthe part and the machine or from the engineering design reference.

Measuring the location of the part and the machine for real-timeorientation takes up to about 10 seconds for the six optical rangingmeasurements, when we allow time in the measurement to cancel outthermal noise. How often the operator should take the rangingmeasurements depends upon the rigidity of the machine, the temperaturefluctuations and rate of change in the factory, the inclination of themachine with respect to the part, and the timespan between machiningoperations, among other factors. The system can easily accommodatetemperature, tilt, time, or other suitable alarms to force recalibration(ranging measurements) at prescribed intervals. Commands in the NC mediacan also trigger ranging measurements at predetermined points in themachining, as previously described, which is especially important forlocating coordination features accurately.

While described with reference to machining, the autoscale and real-timeorientation processes also have application to inspection. The SOMaCsystem can be used to machine the part accurately, but it also could beused to inspect the machined part. Inspection is probably as important afunction as controlling the machining because it reduces the costsassociated with purchasing and maintaining special inspection tooling,especially a coordinate measuring machine (CMM); transferring the partto the coordinate measuring machine; and establishing a known spatialrelationship between the part and the CMM to allow ultimate inspectionof the part. By inspecting the part on the machine, it is possible todiscover when the root cause for changes in the part configuration thatarise after removing the part from its tooling on the machine areactually the result of design errors or transportation accidents ratherthan inaccurate machining. For inspection, an inspection probe replacesthe cutter in the machine spindle. The machine moves the probe inaccordance with the intended digital definition through thepredetermined inspection routine. At each location where inspection of afeature will occur, the SOMaC software has the tracker apply theappropriate positional adjustments for machine inaccuracy and forenvironmental errors.

The techniques of the present invention compensate for real worldexternal events rather than trying to control or eliminate the naturaloccurrence of these events. They produce parts of unprecedentedprecision and accuracy faster than achievable even with the most highlyskilled craftsmen working in the most controlled environments. Theseprocesses allow simple, low-cost machines to produce accurate parts andpave the way for lean and agile manufacturing in the aerospace industry.Common machines can be used to make a wide range of parts toextraordinary accuracy and precision, thereby greatly reducing capitalcost and factory size.

III. Calibrating the System

Initially, the tracker and machine are “aligned” by running an alignmentmedia program. The program directs the machine through a representativevolume on a predetermined course while the tracker is “tracking” (i.e.,recording the motion). The relationship between the tracker's coordinatesystem and the machine's coordinate system is then computed to provide“rough” alignment. The relationship is “rough” because the position ofthe part relative to the machine is inexact. Also, the machine's motionincludes the inherent machine inaccuracies from the ideal.

A probe measures critical features on the part, usually by touch, using,for example, Valisys inspection software, as shown in FIG. 6. We computea transformation between the tracker's measured data and the referencesystem that is designed into the part in its digital definition astranslated in the NC Media. The transformation is based on themeasurement of the critical features with the touch probe (which iscorrected based on laser feedback from the rough alignment process). Thepart location, based on the critical feature information, is nowcompletely known in the tracker's reference frame. The softwarere-orients the NC Media to comply with the “as-positioned” location ofthe part. Realigning the part is not required. Of course, the actualpart location and the reference location from the design data must beclose enough to the desired location of the part for the inspectionprobe to assess the part in approximately the correct position. Theinspection probe must actually identify the intended feature. Thesoftware allows the operator to “teach” the system where the part is byusing a simple single point inspection operation (teach point).Everything then locks into place by refining the part location withcritical feature inspections. The tracker can also measure criticalfeature locations (reflective targets that are mounted on the part) thatallow operation completely independent of Valisys and independent of themachine's coordinate system. The tracker will measure the part locationdirectly, and then guide the machine to the right spot on the part basedon the CAD design intent of the engineering specification. The positionof the critical features must be expressed in the same reference frameas the NC media.

Additional details of the SOMaC system are provided in our article:“Optical End-Point Control for NC Machinery,” SAE 97MP-12, Jun. 4, 1997,which we incorporate by reference.

FIG. 9 is a typical histogram illustrating the actual measured accuracyand precision (repeatability) of the hole placement that SOMaC controlcan provide. The graph plots the offset in the true position of the holefrom the intended location along the ordinate (X axis) and the count forthe number of holes being that accurate on the (Y axis) for 197 0.3275inch diameter holes drilled with a post mill under SOMaC control. Theposition of the holes was determined with Valisys inspection analysistools. Holes being offset by 0.0 to 0.001 inches were counted as 0.001.Those from 0.0011 to 0.002 were counted as 0.002 inches offset, and soforth for the range. The true position is offset from the intendeddesign position by a mean error of only 0.004 inches (a radialpositioning error of only 0.002 inches) with a standard deviation of theposition offset of 0.002 inches. These holes were drilled using “bestmachining” practices. This distribution and the results commonlyattained with SOMaC is tightly arranged around the mean showing awell-controlled process with high reliability, repeatability, andconfidence. Parts made under SOMaC control have smaller part-to-partvariation than those made using traditional methods. Features,especially coordination holes, are located on the parts consistentlycloser to their intended (design) location. The control of variabilitygreatly simplifies assembly, and, in doing so, SOMaC achievessignificant cost savings.

SOMaC's application to the manufacture of wings and fuselage assembliesheralds industry's first use of an automated, laser-guided drillingmachine. The automated data feedback from the true position measurementof the laser trackers guided the drill closer to the intended trueposition of the design by commanding positional adjustments. Holes weredrilled to within 0.007 inch tolerance of the engineeringspecifications. Their location, size, and depth were accuratelycontrolled. About 7000 holes were drilled for each wing for attachmentof the skin, fuselage, boom, fairing, and access door(s). SOMaCeliminated acquisition of expensive tooling, which otherwise would havebeen necessary for this task. SOMaC produced high quality parts andeliminated costly rework commonly associated with manual drilling. Theprecision drilling enhances vehicle performance by producing consistent,precise countersinks and enables smaller edge margin tolerances toreduce the weight of the vehicle.

SOMaC preferably takes tracker measurements when the machine stops. Thedistinction between static and dynamic machine operations has not beenmade in the past, and has hindered deployment of end-point control using3D laser systems. Static machine operations (e.g. drilling, probing,boring, riveting, and countersinking) require that the machine becomestationary (stop) before performing the operation. For example, as adrilling machine prepares to drill a hole, it first pre-positions thedrill over the hole location. Then, when motion is substantiallystopped, the machine moves the drill along a single axis. Staticmachining operations include drilling (and its related operations), spotwelding, initial positioning of a cutter prior to beginning machining ona part, and the like. Dynamic machine operations move along multipleaxes in a continuous mode to drive a cutter through the workpiece alonga programmed path.

While we have described preferred embodiments, those skilled in the artwill readily recognize alterations, variations, and modifications whichmight be made without departing from the inventive concept. Therefore,interpret the claims liberally with the support of the full range ofequivalents known to those of ordinary skill based upon thisdescription. The examples illustrate the invention and are not intendedto limit it. Accordingly, define the invention with the claims and limitthe claims only as necessary in view of the pertinent prior art.

1. Information storage media for improving the accuracy of a machinetool, comprising: computer software storage media havingcomputer-readable information recorded to provide trickle feedrepositioning commands to a machine controller associated with themachine tool from an external software controller, wherein therepositioning commands correct for a position error of a machine toolend effector and are based upon a comparison of measured true positionof the end effector measured by an independent laser tracker measurementsystem and a commanded rest position derived from a digital definitionrepresenting a part.
 2. The information storage media of claim 1,further comprising a standard deviation control protocol for determiningthe rest position of the end effector.
 3. The information storage mediaof claim 2 further comprising a first code portion that uses leastsquares fit algorithms for providing a first order, linear approximationof the position error.
 4. The information storage media of claim 1further comprising a first code portion that uses least squares fitalgorithms for providing a first order, linear approximation of theposition error.
 5. A machine tool system for improving positioningaccuracy of a machine tool, comprising; (a) a machine having a machinetool and a machine controller; and (b) a software controller connectedto the machine controller for executing the information storage media ofclaim
 1. 6. Information storage media, comprising: computer softwarestorage media having computer-readable information recorded to providetrickle feed, delta correction commands in machine media from anexternal software controller to a machine controller to correct for aposition error determined by a comparison of the true position of amachine tool under the control of the machine controller measured by anindependent laser tracker measurement system and the position that themachine controller locates the machine tool following machine mediapositioning commands derived from an engineering specification of apart, the delta correction commands moving the machine tool if theposition error exceeds a predetermined offset threshold, wherein thesoftware controller records the correction commands for later analysisof machine wear.
 7. The information storage media of claim 6 furthercomprising a first code portion that uses least squares fit algorithmsfor providing a first order, linear approximation of the position error.8. A machine tool system for improving positioning accuracy of a machinetool, comprising; (a) a machine having a machine tool and a machinecontroller; and (b) a software controller connected to the machinecontroller for executing the information storage media of claim
 6. 9. Amethod for improving the accuracy of a machine having a machinecontroller for guiding movement of a machine tool, comprising the stepof: providing trickle feed delta correction commands in machine media tothe machine controller from an external software controller that recordsthe correction commands for later analysis of machine wear, whereincommands are provided when a comparison of the true position of amachine tool under the control of the machine controller measured by anindependent laser traker measurement system and the position to whichthe machine controller locates the machine tool following machine mediaderived from an engineering specification of a part exceeds apredetermined offset threshold, wherein the software controller uses astandard deviation protocol to determine the rest position when themachine tool stops following movement.